package top.itaso.lib.java.singleton;

/**
 * @Description: 静态内部类方式 --- 推荐使用
 * 1、使用的时候即调用 getInstance 的时候才初始化
 * 2、调用 getInstance 才会加载 SingletionInternalClassHolder 类，确保了线程安全，保证了单例的唯一性
 * @Author Aso
 * @Date 2024/4/29
 */
public class SingletonInternalClass {

    public static SingletonInternalClass getInstance() {
        return SingletionInternalClassHolder.instance;
    }

    private static class SingletionInternalClassHolder {
        private static final SingletonInternalClass instance = new SingletonInternalClass();
    }

    private SingletonInternalClass() {
    }
}